package com.example.yingpianguangli.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
@Data // 提供所有的getter和setter, equals, canEqual, hashCode 和 toString 方法
@NoArgsConstructor // 提供无参构造函数
@AllArgsConstructor // 提供全参构造函数
/**
 * 系统角色类，用于表示系统中的角色信息
 * 实现了Serializable接口，以支持角色对象的序列化和反序列化
 */
public class SysRole implements Serializable {

    // 序列化ID，用于标识类的版本
    private static final Long serialVersionUID = 1L;

    // 角色ID
    private Long roleId;

    // 角色名称
    @NotBlank(message = "角色名称不能为空")
    private String roleName;

    // 角色描述
    @NotBlank(message = "角色描述不能为空")
    private String roleDesc;

    // 角色拥有的权限，分多级权限存储，取名为children方便读取所有权限
    private List<SysResource> children;
}

